#coding:utf-8
import sqlite3


conn = sqlite3.connect("test.db")
#print dir(sqlite3.SQLITE_PRAGMA)
conn.isolation_level = None #这个就是事务隔离级别，默认是需要自己commit才能修改数据库，置为None则自动每次修改都提交,否则为""
#conn.synchronous = None
conn.execute("PRAGMA synchronous = OFF")
# 下面就是创建一个表
#conn.execute("""
#CREATE TABLE [tt1] (
#[id] integer  PRIMARY KEY AUTOINCREMENT NULL,
#[name] varchar(128)  NULL,
#[info] TEXT  NULL
#)
#""")
# 插入数据
sql = "insert into tt1(name,info) values ('aaa', 'cwpmcm9tIGRqYW5nby5jb250cmliLmF1dGgubW9kZWxzIGltcG9ydCBVc2VyCgoKI')"
import time
bf =  time.time()
for i in xrange(100):
    conn.execute(sql)
    # 如果隔离级别不是自动提交就需要手动执行commit
#conn.commit()
    
print u"used time",time.time() - bf    

# 获取到游标对象
cur = conn.cursor()
# 用游标来查询就可以获取到结果
cur.execute("select * from tt1")
# 获取所有结果
res = cur.fetchall()
#print 'row:', cur.rowcount
## cur.description是对这个表结构的描述
#print 'desc', cur.description
## 用fetchall返回的结果是一个二维的列表
#for line in res:
#    for f in line:
#        print f,
#    print
#print '-'*60
#
#cur.execute("select * from t1")
## 这次查询后只取一个结果，就是一维列表
#res = cur.fetchone()
#print 'row:', cur.rowcount
#for f in res:
#    print f,
#print
## 再取一行
#res = cur.fetchone()
#print 'row:', cur.rowcount
#for f in res:
#    print f,
#print
#print '-'*60


cur.close()
conn.close()